#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<sys/shm.h>
#include<stdlib.h>

#define SHM_KEY 0x12345678
int main()
{
   int shmid=shmget(SHM_KEY,4096,IPC_CREAT|0664);    //创建一块共享内存
   if(shmid<0){
     perror("shmget error!\n");
     return -1;
   }

   //建立映射连接
   void* start=shmat(shmid,NULL,0);
   if(start==(void*)-1){
     perror("shmat error!\n");
     return -1;
   }

   //内存操作
   while(1){
     printf("%s\n",start);
     sleep(1);
   }
 
   //解除映射关系
   shmdt(start);
   
   //删除共享内存
   shmctl(shmid,IPC_RMID,NULL);    //标记删除
   return 0;
}
